import { defineStore } from "pinia";
import { ref } from 'vue';
export const useSettingsStore = defineStore('setting',()=>{
    // 显示设置
    const showSettings = ref(true);
    // 是否显示设置
    const settingsVisible = ref(false);
    // 是否显示标签视图
    const tagsView = ref(true);
    // 是否显示侧边栏logo
    const sidebarLogo = ref(true);
    // 是否固定头部
    const fixedHeader = ref(true);
    // 布局模式：left-左侧模式(默认) top-顶部模式 mix-混合模式
    const layout = ref('left');
    // 主题颜色
    const themeColor = ref('#409EFF');
    // 主题：light-亮色(默认) dark-暗色
    const theme = ref('light');
    // 是否开启水印
    const watermarkEnabled = ref(false);
    const settingsMap = {
        fixedHeader,
        tagsView,
        sidebarLogo,
        layout,
        watermarkEnabled,
    };

    function changeSetting(key,value){
        const setting = settingsMap[key];
        if(setting){
            setting.value = value;
        }
    }
    /**
     * 切换主题
     */
    function changeTheme(val) {
        theme.value = val;
    }
    /**
     * 切换主题颜色
     *
     * @param color 主题颜色
     *
     */
    function changeThemeColor(color) {
        themeColor.value = color;
    }
    /**
     * 切换布局
     */
    function changeLayout(val) {
        layout.value = val;
    }

    return {
        showSettings,
        settingsVisible,
        tagsView,
        fixedHeader,
        sidebarLogo,
        layout,
        themeColor,
        theme,
        watermarkEnabled,
        changeSetting,
        changeTheme,
        changeThemeColor,
        changeLayout,
    };
});